package com.tbit.uqbike.client.dao.capital;

import com.tbit.uqbike.client.dto.LowCarbonDTO;
import com.tbit.uqbike.client.dto.RideLogDetailsDTO;
import com.tbit.uqbike.client.pojo.RideLogDetails;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author: chen
 * @Description:
 * @Date: 创建于 16:02 2022/11/17
 */
public interface RideLogDetailsDao {

    /**
     * 更新
     *
     * @param rideLogDetails
     */
    void edit(RideLogDetails rideLogDetails);

    /**
     * 根据订单编号查询订单详情
     *
     * @param orderId
     * @return
     */
    RideLogDetails getByOrderId(@Param("orderId") String orderId);

    /**
     * 根据用户id查询订单详情列表
     *
     * @param userId
     * @return
     */
    List<RideLogDetails> selectByUserId(@Param("userId") Integer userId);

    List<RideLogDetails> getLastLimitByMachineId(@Param("machineId") Integer machineId, @Param("limit") Integer limit);
    /**
     * @description: 获取用户指定时间内订单的骑行时长(秒)、骑行距离(米)、车辆id
     * @author: mo.shanyong
     * @date: 2025/5/17 16:00
     * @param: userId
     * @param: startTime
     * @param: endTime
     */
    List<RideLogDetailsDTO> getByUserIdAndTime(@Param("userId") Integer userId, @Param("startTime") String startTime, @Param("endTime") String endTime);

    /**
     * 修改骑行订单的卡券抵扣
     * @param rideLogDetails 骑行订单详情
     */
    void updateCardDeduction(RideLogDetails rideLogDetails);
}
